home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicToggleButtonUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  4.2 KB  |  115 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Font;
  6. import java.awt.FontMetrics;
  7. import java.awt.Graphics;
  8. import java.awt.Insets;
  9. import java.awt.Rectangle;
  10. import javax.swing.AbstractButton;
  11. import javax.swing.ButtonModel;
  12. import javax.swing.Icon;
  13. import javax.swing.JComponent;
  14. import javax.swing.SwingUtilities;
  15. import javax.swing.plaf.ComponentUI;
  16.  
  17. public class BasicToggleButtonUI extends BasicButtonUI {
  18.    private static final BasicToggleButtonUI toggleButtonUI = new BasicToggleButtonUI();
  19.    private static final String propertyPrefix = "ToggleButton.";
  20.  
  21.    public static ComponentUI createUI(JComponent var0) {
  22.       return toggleButtonUI;
  23.    }
  24.  
  25.    protected String getPropertyPrefix() {
  26.       return "ToggleButton.";
  27.    }
  28.  
  29.    public void paint(Graphics var1, JComponent var2) {
  30.       AbstractButton var3 = (AbstractButton)var2;
  31.       ButtonModel var4 = var3.getModel();
  32.       Dimension var5 = ((Component)var3).getSize();
  33.       FontMetrics var6 = var1.getFontMetrics();
  34.       Insets var7 = var2.getInsets();
  35.       Rectangle var8 = new Rectangle(var5);
  36.       var8.x += var7.left;
  37.       var8.y += var7.top;
  38.       var8.width -= var7.right + var8.x;
  39.       var8.height -= var7.bottom + var8.y;
  40.       Rectangle var9 = new Rectangle();
  41.       Rectangle var10 = new Rectangle();
  42.       Font var11 = ((Component)var2).getFont();
  43.       var1.setFont(var11);
  44.       String var12 = SwingUtilities.layoutCompoundLabel(var2, var6, var3.getText(), var3.getIcon(), var3.getVerticalAlignment(), var3.getHorizontalAlignment(), var3.getVerticalTextPosition(), var3.getHorizontalTextPosition(), var8, var9, var10, var3.getText() == null ? 0 : ((BasicButtonUI)this).getDefaultTextIconGap(var3));
  45.       var1.setColor(((Component)var3).getBackground());
  46.       if (var4.isArmed() && var4.isPressed() || var4.isSelected()) {
  47.          this.paintButtonPressed(var1, var3);
  48.       }
  49.  
  50.       if (var3.getIcon() != null) {
  51.          this.paintIcon(var1, var3, var9);
  52.       }
  53.  
  54.       if (var12 != null && !var12.equals("")) {
  55.          this.paintText(var1, var3, var10, var12);
  56.       }
  57.  
  58.       if (var3.isFocusPainted() && ((JComponent)var3).hasFocus()) {
  59.          this.paintFocus(var1, var3, var8, var10, var9);
  60.       }
  61.  
  62.    }
  63.  
  64.    protected void paintButtonPressed(Graphics var1, AbstractButton var2) {
  65.    }
  66.  
  67.    protected void paintFocus(Graphics var1, AbstractButton var2, Rectangle var3, Rectangle var4, Rectangle var5) {
  68.    }
  69.  
  70.    protected void paintIcon(Graphics var1, AbstractButton var2, Rectangle var3) {
  71.       ButtonModel var4 = var2.getModel();
  72.       Icon var5 = null;
  73.       if (!var4.isEnabled()) {
  74.          var5 = var2.getDisabledIcon();
  75.       } else if (var4.isPressed() && var4.isArmed()) {
  76.          var5 = var2.getPressedIcon();
  77.          if (var5 == null) {
  78.             var5 = var2.getSelectedIcon();
  79.          }
  80.       } else if (var4.isSelected()) {
  81.          if (var2.isRolloverEnabled() && var4.isRollover()) {
  82.             var5 = var2.getRolloverSelectedIcon();
  83.             if (var5 == null) {
  84.                var5 = var2.getSelectedIcon();
  85.             }
  86.          } else {
  87.             var5 = var2.getSelectedIcon();
  88.          }
  89.       } else if (var2.isRolloverEnabled() && var4.isRollover()) {
  90.          var5 = var2.getRolloverIcon();
  91.       }
  92.  
  93.       if (var5 == null) {
  94.          var5 = var2.getIcon();
  95.       }
  96.  
  97.       var5.paintIcon(var2, var1, var3.x, var3.y);
  98.    }
  99.  
  100.    protected void paintText(Graphics var1, AbstractButton var2, Rectangle var3, String var4) {
  101.       ButtonModel var5 = var2.getModel();
  102.       FontMetrics var6 = var1.getFontMetrics();
  103.       if (var5.isEnabled()) {
  104.          var1.setColor(((Component)var2).getForeground());
  105.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x, var3.y + var6.getAscent());
  106.       } else {
  107.          var1.setColor(((Component)var2).getBackground().brighter());
  108.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x, var3.y + var6.getAscent());
  109.          var1.setColor(((Component)var2).getBackground().darker());
  110.          BasicGraphicsUtils.drawString(var1, var4, var5.getMnemonic(), var3.x - 1, var3.y + var6.getAscent() - 1);
  111.       }
  112.  
  113.    }
  114. }
  115.